﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lib.CommonForm;

namespace AUI
{
    public partial class frmChangePassword : FormBase
    {
        public frmChangePassword()
        {
            InitializeComponent();
        }

        public override void Show_Form()
        {
            this.ShowDialog();
        }

        private bool CheckValid()
        {

            txtOldPass.BackColor = SystemColors.Window;
            txtConfirmPassword.BackColor = SystemColors.Window;
            txtPassword.BackColor = SystemColors.Window;

            if (txtOldPass.Text.Trim().Length == 0)
            {
                txtOldPass.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Chưa nhập mật khẩu cũ");
                txtOldPass.Focus();
                return false;
            }

            tbl_Users_Info user = tbl_Users_Controller.Instance().GetInfo(FormGlobals.strUserName);
            if (!user.Password.Equals(txtOldPass.Text))
            {
                txtOldPass.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Mật khẩu cũ sai");
                txtOldPass.Focus();
                return false;
            }

            if (txtPassword.Text.Trim().Length == 0)
            {
                txtPassword.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Chưa nhập mật khẩu mới");
                txtConfirmPassword.Focus();
                return false;
            }

            if (txtPassword.Text.Trim().Length < 7)
            {
                txtPassword.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Mật khẩu mới phải có ít nhất là 7 ký tự");
                txtPassword.Focus();
                return false;
            }

            if (txtConfirmPassword.Text.Trim().Length == 0)
            {
                txtConfirmPassword.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Chưa nhập mật khẩu khẳng định");
                txtConfirmPassword.Focus();
                return false;
            }

            if (!txtPassword.Text.Equals(txtConfirmPassword.Text))
            {
                txtOldPass.BackColor = Color.Yellow;
                FormGlobals.Message_Warning("Mật khẩu mới và mật khẩu khẳng định không khớp");
                txtConfirmPassword.Focus();
                return false;
            }

            return true;
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (CheckValid())
            {
                if ( tbl_Users_Controller.Instance().ChangePassword(FormGlobals.strUserName, txtOldPass.Text, txtPassword.Text))
                {
                    FormGlobals.strUserName = Globals.HashPassword(txtPassword.Text);
                    FormGlobals.Message_InTaskbar("Đổi mật khẩu thành công");
                    this.Close();
                }
                else
                {
                    FormGlobals.Message_Warning("Đổi mật khẩu không thành công");
                }
            }
        }
    }
}
